package com.mybatis.basic.annotation.rediscache;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 查询/写入/修改  缓存
 * @author Administrator
 *
 */
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD})
public @interface RedisCache {

	/**
	 * 所属分组-组名
	 * 当此参数为 null或者""的时候默认使用 [ 类名:方法名 ]（不包括中括号）作为组名<BR> 
	 * 推荐使用自定义组名，这样会方便后期增删改<BR>
	 * 当缓存数据为分页数据时此参数必填，否则无法精确增删改值
	 * @return
	 */
	public String group();

	/**
	 * redis-key 
	 * 当此参数为 null或者""的时候默认使用 [方法参数值-分隔的MD5摘要字符串]（不包括中括号）作为键 <BR>
	 * 当缓存数据为分页数据时推荐使用默认值，避免key值重复，防止值被覆盖
	 * @return
	 */
	public String key() default "";

	/**
	 * 缓存多长时间 单位：秒，默认10800秒 3小时
	 * @return
	 */
	public int expire() default 10800;

}
